【问题标题】:How can I display the action of a database-linked form with sinatra?如何使用 sinatra 显示数据库链接表单的操作?
【发布时间】:2016-05-13 13:12:59
【问题描述】:

我一直在使用 ActiveRecord 和 MySQL 在 Ruby 的 Sinatra 中开展一个项目,但遇到了一个错误:我的网站的一部分正在添加到数据库的链接,我想在下一页上显示所有链接,但出于某种原因,我似乎无法找到如何表达这一点。 这是我目前所拥有的:

get '/dashboard' do
   @site = Site.find_by text: params[:text]
   @sites= Site.all
    @newsite = Site.new ({:text => :text})
    @user = User.find_by_id session[:user_id]
    erb :dashboard
end

这是 ERB 页面的样子:

 <% @sites.each do |site| %>
 <h4><%=site.text.to_s%></h4>
 <% end %>

我将如何解决这个问题?现在我的表单可以工作,但之后没有显示任何内容

【问题讨论】:

    标签: mysql ruby sinatra


    【解决方案1】:

    您的 ERB 代码引用了您未在控制器中设置的 @sites 属性。

    如果您在 ruby​​ 代码中将 @sites 设置为要显示的站点记录数组,那么您应该会看到一些东西。

    【讨论】:

    • 所以如果我确定了一个@sites 那么它会加载吗?我会说@sites= Site.all 之类的话吗?
    • 类似的东西。恐怕我的 ActiveRecord 知识有点过时了。试试看?
    • 我试过了,没有报错,但什么也没显示。不过感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 2015-10-30
    • 1970-01-01
    • 2016-10-29
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2019-11-27
    • 1970-01-01
    相关资源
    最近更新 更多