【问题标题】:Pass an ID from one show page to another to view将 ID 从一个显示页面传递到另一个显示页面以查看
【发布时间】:2014-07-08 20:43:29
【问题描述】:

我已经生成了两个脚手架 Stock 和 DialyPrices。

股票有很多日价,日价属于股票。

在每个股票显示页面中,我都有一个部分显示该股票的每日价格。当我创建一个新的每日价格时,我是从股票显示页面执行的,该页面通过

将正确的 stock_id 传递给新的每日价格表单
<%= render partial: "layouts/new_daily_price", locals: {:daily_price=>DailyPrice.new(:stock_id=>@stock.id)}  %>

将每日价格部分拉到我正在使用的股票显示页面:

<%= render partial: "layouts/daily_price", locals: {:daily_prices=>@stock.daily_prices} %>

这会为每只股票带来正确的每日价格。

所以现在我有一个股票显示页面,其中包含股票信息、该股票的每日价格信息以及一个创建新的每日价格表格。

我想做的是从股票显示页面 URL http://example.com/stocks/1 获取股票 ID,并在我的每日价格显示页面中使用该 ID,以便我可以查看与该股票 ID 相关的所有每日价格

任何帮助都会很棒,因为我非常坚持这一点。

谢谢, T

【问题讨论】:

    标签: ruby ruby-on-rails-3


    【解决方案1】:

    你可以像这样渲染一个集合(见documentation):

    app/views/stocks/show.html.erb

    [...]
    <ul>    
      <%= render :partial => 'daily_price', :collection => @stock.daily_prices %>
    </ul>
    [...]
    

    app/views/daily_price/_daily_price.html.erb

    <li>
      <%= daily_price.some_field %>
    </li>
    

    【讨论】:

    • 感谢您的回复。我试了一下,但出现“未定义的局部变量或方法‘daily_price’”错误。
    • 我的错,dialy_price 部分的路径错误,我修复了它。现在应该可以了吧?
    • 您的 @stock 对象是设置为某物还是 nil
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    • 1970-01-01
    相关资源
    最近更新 更多