我一直关注着使用Rails 4的敏捷Web开发一书。以下代码有点令人困惑:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item android:id="@+id/nav_info_details" android:icon="@drawable/ic_menu_info_details"
android:title="About us" />
<item android:id="@+id/nav_rate" android:icon="@drawable/ic_menu_star"
android:title="Rate App" />
<item android:id="@+id/nav_share" android:icon="@drawable/ic_menu_share"
android:title="Share App" />
<item android:id="@+id/nav_facebook" android:icon="@drawable/ic_menu_fb"
android:title="Follow me on Facebook" />
</group>
<item android:title="Communicate">
<menu>
<item android:id="@+id/nav_whatsapp" android:icon="@drawable/ic_menu_whatsapp"
android:title="Whatsapp us to share your" />
<item android:id="@+id/nav_email" android:icon="@drawable/sym_action_email"
android:title="Tell us how you feel about App" />
</menu>
</item>
</menu>
我不确定这行是否
respond_to do |format|
if @line_item.save
format.html { redirect_to @line_item.cart, notice: 'Line item was successfully created.' }
format.json { render :show, status: :created, location: @line_item }
...
确实有效,因为我无法通过Chrome中的检查工具找到任何JSON内容。
此外,&#34;渲染:显示&#34;似乎引用了jbuilder:
format.json { render :show, status: :created, location: @line_item }
我试图添加一些&#34; p ...&#34;在views/line_items/show.json.jbuilder
,但我没有在终端看到任何输出。
答案 0 :(得分:3)
在respond_to
块中,只会运行其中一条format...
行,具体取决于请求的类型。仅当初始请求是ajax请求时,format.json
行才会运行。如果请求是普通表单提交,则仅使用format.html
行。
答案 1 :(得分:0)
如果你想知道某些语法是否合法,你可以随便问自己:
while ($row = $result->fetch_assoc()) {
$returnedHTMl = "<tr>";
$returnedHTMl .= "<td>" . $row["interest"] . "</td>"
$returnedHTMl .= "<td><a href='http://localhost/page/files/".$row["filename"]."'>" . $row["filename"] . " </a></td>"
$returnedHTMl .= "<td>" . $row["reg_date"] . "</td>";
echo $returnedHTML
}
答案 2 :(得分:0)
非常合法。
在Ruby中,有多种方法可以将块(匿名函数)传递给方法。对于此示例,请使用Enumerable#map。
我们可以使用do...end
:
['oof', 'rab'].map do |s|
s.reverse
end
# => ["foo", "bar"]
或者我们可以使用内联块:
['oof', 'rab'].map { |s| s.reverse }
# => ["foo", "bar"]
我们也可以使用procs and lambdas,但不要在这里偏离。 Ruby解析器并不关心你使用上面的哪一个 - 但是有一些非常强大的社区约定:
首选{...}结束...单行块结束。避免使用{...} 对于多行块(多行链接总是很难看)。一直用 do ...结束“控制流程”和“方法定义”(例如, Rakefiles和某些DSL)。链接时要避免...结束 https://github.com/bbatsov/ruby-style-guide
那么让我们看看我们是否可以让这个例子变得更加神秘:
respond_to do |format|
if @line_item.save
format.html do
redirect_to(@line_item.cart, notice: 'Line item was successfully created.')
end
format.json do
render(:show, status: :created, location: @line_item)
# or a more idiomatically correct API response
# head( :created, location: @line_item )
end
end
end